Recently, mobile robots that can autonomously set and move along their own routes have been developed. In order to allow the mobile robot to efficiently determine its position and move in a space, the mobile robot must generate a map of the space in which it is to move, and recognize its position within that space.
Mobile robots typically utilize a gyroscope and an encoder within the driving motor to move by dead reckoning, utilizing a map derived by analyzing video images taken by a camera installed on the upper portion of the robot. In this case, when an error occurs in the driving information from the gyroscope and the encoder, the image information obtained from the camera is utilized to correct the accumulated error.
However, such location-based mobile robots use a monocular camera or laser scanner under the assumption of movement on a two-dimensional plane. When this kind of monocular camera is used, however, it is difficult to know the distance to a feature point. Therefore, as the error of the dead reckoning navigation is increased, the problem arises that very many errors may be included in the position recognition results.
In addition, with the existing methods, in various situations, for example, when the mobile robot is confined in a tilted state during movement, when the mobile robot passes over a high threshold such as at a doorframe, or when the mobile robot moves onto the edge of a threshold or the edge of a carpet while using its monocular camera for SLAM (simultaneous localization and mapping), the posture of the mobile robot is not accurately estimated, making it difficult to control the mobile robot smoothly.